/********************************************************
  Stanford Driving Software
  Copyright (c) 2011 Stanford University
  All rights reserved.

  Redistribution and use in source and binary forms, with 
  or without modification, are permitted provided that the 
  following conditions are met:

* Redistributions of source code must retain the above 
  copyright notice, this list of conditions and the 
  following disclaimer.
* Redistributions in binary form must reproduce the above
  copyright notice, this list of conditions and the 
  following disclaimer in the documentation and/or other
  materials provided with the distribution.
* The names of the contributors may not be used to endorse
  or promote products derived from this software
  without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  DAMAGE.
 ********************************************************/


#ifndef COMPASS_ROSE_H_
#define COMPASS_ROSE_H_

#include <inttypes.h>
#include <vector>

const std::vector<uint8_t> compassrose_data = { 71, 73, 70, 56, 57, 97, 24, 1, 24, 1, 227, 10, 0, 0, 0, 0, 192, 0, 0, 192, 192, 0, 0, 0, 192, 192, 192, 192, 128, 128, 128, 255, 0, 0, 255, 255, 0, 0, 0, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 0, 0, 0, 0, 24, 1, 24, 1, 0, 4, 254, 48, 201, 73, 171, 189, 56, 235, 205, 187, 255, 96, 40, 142, 100, 105, 158, 104, 170, 174, 108, 235, 190, 112, 44, 207, 116, 109, 223, 120, 174, 239, 50, 192, 255, 192, 160, 80, 8, 40, 14, 143, 200, 164, 178, 4, 56, 0, 4, 190, 165, 116, 74, 77, 54, 155, 208, 170, 118, 203, 157, 53, 157, 130, 67, 182, 75, 46, 155, 65, 95, 167, 88, 28, 61, 187, 223, 231, 52, 120, 221, 134, 219, 239, 83, 57, 150, 142, 239, 251, 137, 7, 129, 129, 79, 107, 99, 127, 135, 136, 52, 114, 131, 133, 108, 137, 143, 144, 44, 139, 115, 97, 97, 117, 145, 152, 153, 31, 147, 123, 149, 151, 154, 160, 161, 22, 139, 132, 149, 78, 162, 168, 169, 18, 164, 141, 134, 170, 175, 152, 164, 166, 150, 176, 181, 145, 156, 166, 159, 182, 187, 125, 172, 158, 188, 192, 102, 70, 23, 178, 142, 20, 69, 186, 193, 202, 63, 69, 131, 200, 199, 130, 140, 180, 171, 105, 195, 203, 215, 59, 147, 206, 19, 122, 211, 9, 218, 201, 216, 226, 48, 218, 130, 70, 122, 198, 229, 225, 227, 236, 42, 229, 209, 167, 213, 99, 239, 167, 237, 246, 45, 244, 209, 205, 140, 62, 249, 235, 247, 0, 209, 192, 67, 6, 207, 217, 182, 106, 200, 8, 14, 10, 200, 144, 137, 185, 54, 251, 30, 58, 251, 98, 237, 216, 149, 134, 24, 67, 80, 36, 134, 206, 201, 198, 12, 254, 31, 51, 138, 220, 112, 17, 3, 186, 102, 255, 190, 213, 27, 201, 146, 35, 73, 138, 30, 87, 130, 76, 217, 18, 99, 69, 147, 9, 19, 118, 160, 89, 147, 33, 77, 112, 61, 131, 186, 200, 169, 83, 168, 81, 119, 30, 81, 30, 93, 122, 226, 74, 76, 153, 76, 163, 238, 140, 249, 164, 164, 212, 171, 36, 213, 168, 9, 137, 181, 43, 52, 173, 85, 159, 121, 29, 171, 82, 97, 201, 155, 100, 163, 90, 187, 114, 137, 103, 90, 145, 109, 197, 190, 157, 203, 141, 174, 221, 187, 120, 243, 234, 221, 187, 148, 168, 223, 156, 124, 237, 253, 141, 168, 175, 160, 62, 192, 129, 121, 41, 52, 204, 56, 223, 64, 196, 137, 51, 229, 212, 202, 216, 240, 226, 202, 3, 31, 162, 141, 108, 39, 97, 65, 199, 143, 65, 23, 254, 188, 153, 115, 151, 203, 150, 49, 147, 22, 205, 8, 179, 92, 211, 90, 80, 87, 102, 157, 84, 117, 102, 219, 30, 97, 83, 33, 140, 155, 182, 108, 215, 184, 53, 235, 62, 50, 57, 120, 235, 224, 191, 103, 27, 159, 232, 118, 248, 80, 132, 203, 143, 171, 6, 80, 32, 249, 231, 232, 79, 75, 59, 39, 199, 137, 54, 229, 233, 213, 121, 43, 95, 206, 91, 251, 246, 21, 234, 196, 3, 239, 29, 94, 180, 111, 245, 230, 207, 51, 121, 103, 61, 53, 251, 250, 163, 145, 171, 223, 38, 63, 197, 126, 115, 3, 252, 254, 119, 221, 125, 2, 230, 103, 91, 17, 1, 78, 215, 92, 127, 163, 244, 22, 160, 111, 7, 22, 208, 158, 99, 239, 37, 120, 224, 130, 12, 22, 120, 24, 2, 172, 81, 40, 161, 103, 211, 25, 7, 0, 135, 190, 49, 232, 129, 134, 3, 5, 200, 33, 114, 17, 78, 120, 32, 114, 28, 90, 40, 162, 137, 89, 125, 119, 160, 138, 238, 181, 8, 226, 122, 7, 198, 8, 97, 124, 242, 85, 67, 222, 0, 56, 246, 230, 207, 135, 248, 161, 56, 34, 0, 68, 66, 184, 16, 141, 220, 176, 34, 162, 138, 43, 42, 8, 158, 139, 174, 81, 136, 128, 143, 228, 13, 4, 165, 74, 246, 57, 88, 164, 149, 179, 73, 56, 33, 61, 26, 46, 217, 164, 136, 150, 209, 72, 223, 148, 84, 250, 243, 31, 117, 72, 90, 151, 228, 150, 76, 202, 248, 162, 101, 24, 222, 229, 15, 114, 77, 110, 89, 101, 99, 115, 154, 89, 220, 106, 104, 10, 154, 103, 142, 174, 157, 71, 33, 160, 129, 14, 250, 89, 0, 201, 209, 121, 38, 161, 0, 80, 58, 27, 158, 68, 234, 201, 227, 108, 206, 49, 122, 35, 149, 146, 234, 19, 0, 165, 6, 128, 99, 232, 142, 250, 164, 122, 170, 58, 138, 174, 217, 27, 114, 186, 57, 57, 93, 167, 35, 226, 105, 217, 171, 169, 126, 102, 230, 153, 164, 24, 224, 170, 166, 159, 197, 42, 107, 136, 51, 114, 230, 29, 104, 121, 254, 146, 10, 14, 175, 189, 234, 243, 43, 81, 3, 9, 155, 41, 177, 3, 25, 235, 105, 99, 209, 245, 121, 149, 119, 210, 53, 214, 169, 179, 147, 82, 10, 64, 180, 230, 76, 123, 168, 19, 214, 94, 203, 137, 182, 219, 14, 216, 45, 95, 40, 114, 235, 218, 184, 185, 150, 234, 196, 169, 168, 162, 235, 132, 186, 59, 158, 107, 45, 191, 239, 114, 138, 43, 178, 216, 229, 150, 23, 126, 179, 249, 131, 175, 162, 3, 17, 44, 44, 186, 150, 2, 107, 206, 196, 215, 98, 59, 8, 188, 114, 38, 156, 212, 194, 181, 37, 44, 96, 179, 164, 74, 154, 177, 192, 20, 3, 108, 214, 196, 195, 106, 156, 111, 140, 7, 55, 236, 49, 65, 222, 246, 132, 80, 189, 135, 209, 247, 48, 196, 131, 240, 107, 46, 198, 255, 170, 156, 16, 203, 69, 248, 92, 141, 160, 48, 31, 27, 26, 184, 1, 211, 69, 10, 117, 76, 255, 70, 114, 201, 20, 249, 220, 111, 170, 69, 252, 10, 108, 17, 68, 91, 77, 17, 210, 83, 131, 131, 53, 118, 80, 147, 242, 86, 119, 101, 147, 199, 53, 56, 59, 67, 156, 177, 185, 68, 105, 61, 88, 78, 70, 59, 129, 116, 210, 241, 10, 140, 179, 71, 237, 125, 70, 86, 122, 116, 118, 200, 181, 191, 131, 140, 75, 245, 190, 82, 203, 77, 237, 106, 112, 131, 109, 248, 211, 237, 118, 88, 103, 99, 94, 161, 153, 117, 120, 254, 189, 253, 76, 120, 216, 96, 215, 87, 241, 214, 89, 22, 225, 56, 190, 173, 98, 172, 113, 195, 147, 131, 138, 149, 229, 151, 87, 151, 57, 202, 122, 24, 142, 35, 224, 200, 104, 189, 245, 95, 164, 225, 125, 44, 202, 174, 50, 187, 106, 129, 53, 223, 67, 97, 237, 72, 78, 167, 249, 216, 78, 60, 46, 94, 66, 4, 52, 223, 252, 231, 183, 59, 47, 61, 171, 200, 60, 62, 8, 209, 153, 202, 249, 59, 179, 106, 233, 215, 186, 235, 179, 189, 202, 59, 69, 77, 162, 45, 253, 249, 208, 255, 117, 254, 250, 229, 45, 234, 17, 203, 195, 162, 169, 50, 173, 125, 137, 152, 208, 180, 225, 31, 111, 109, 200, 204, 173, 207, 190, 237, 234, 243, 31, 250, 158, 54, 56, 236, 189, 170, 76, 219, 235, 208, 81, 150, 117, 191, 85, 53, 70, 124, 240, 35, 76, 17, 4, 40, 192, 244, 249, 133, 130, 236, 147, 32, 239, 6, 118, 64, 210, 8, 109, 94, 66, 137, 26, 241, 12, 181, 43, 8, 34, 207, 25, 24, 172, 32, 0, 47, 152, 194, 12, 30, 198, 116, 29, 28, 136, 226, 24, 214, 38, 155, 137, 44, 39, 138, 139, 24, 4, 73, 209, 66, 255, 65, 239, 118, 0, 232, 161, 11, 31, 210, 178, 167, 205, 144, 134, 126, 171, 9, 184, 52, 51, 66, 18, 154, 195, 104, 122, 8, 162, 16, 209, 103, 59, 32, 78, 145, 125, 58, 140, 97, 254, 208, 132, 182, 196, 39, 141, 132, 45, 51, 195, 97, 14, 123, 166, 193, 43, 254, 111, 133, 44, 52, 163, 243, 36, 72, 48, 103, 160, 17, 137, 171, 105, 137, 144, 110, 216, 64, 185, 25, 228, 33, 106, 60, 227, 17, 115, 146, 71, 244, 153, 138, 34, 85, 92, 28, 217, 204, 241, 197, 199, 144, 45, 110, 104, 212, 71, 31, 245, 200, 69, 100, 44, 114, 122, 55, 251, 161, 95, 14, 233, 165, 140, 128, 131, 129, 98, 4, 32, 10, 31, 185, 198, 42, 2, 81, 138, 156, 36, 64, 53, 60, 57, 73, 181, 213, 176, 33, 104, 234, 22, 34, 87, 24, 202, 233, 145, 114, 48, 173, 124, 222, 247, 26, 217, 173, 70, 249, 228, 66, 246, 91, 37, 0, 99, 41, 202, 87, 6, 176, 149, 63, 172, 211, 186, 200, 164, 186, 128, 136, 234, 66, 186, 84, 28, 48, 125, 153, 198, 71, 206, 178, 145, 29, 162, 159, 240, 76, 105, 164, 100, 202, 45, 148, 193, 156, 27, 54, 61, 41, 76, 86, 101, 41, 89, 211, 84, 219, 240, 252, 194, 205, 240, 56, 147, 153, 68, 113, 102, 48, 187, 233, 77, 62, 45, 43, 156, 170, 108, 39, 19, 51, 73, 202, 62, 174, 115, 110, 160, 52, 227, 58, 217, 105, 167, 97, 246, 6, 158, 241, 60, 87, 59, 7, 83, 78, 115, 234, 147, 155, 248, 84, 227, 51, 247, 56, 80, 100, 96, 109, 111, 250, 104, 71, 23, 254, 201, 56, 62, 179, 16, 180, 160, 249, 236, 225, 61, 181, 121, 197, 125, 242, 211, 162, 5, 196, 218, 233, 200, 35, 81, 143, 245, 204, 132, 216, 195, 103, 65, 13, 170, 81, 132, 114, 84, 163, 30, 253, 164, 67, 35, 120, 50, 147, 66, 69, 25, 19, 125, 162, 248, 54, 72, 145, 139, 98, 84, 136, 27, 133, 101, 75, 87, 58, 183, 235, 165, 180, 141, 54, 13, 94, 44, 108, 170, 83, 148, 70, 75, 165, 68, 109, 225, 62, 241, 153, 81, 31, 174, 84, 166, 70, 109, 87, 221, 152, 122, 83, 197, 64, 244, 129, 80, 164, 24, 84, 49, 90, 85, 87, 186, 244, 165, 62, 140, 169, 76, 171, 33, 210, 173, 50, 245, 53, 192, 192, 221, 204, 172, 134, 45, 41, 142, 245, 167, 42, 60, 171, 80, 173, 122, 213, 132, 234, 129, 174, 19, 253, 203, 53, 122, 154, 43, 121, 26, 143, 96, 213, 144, 229, 220, 174, 202, 82, 179, 162, 179, 153, 107, 84, 235, 90, 159, 247, 16, 183, 230, 178, 176, 251, 80, 106, 34, 34, 153, 47, 127, 150, 48, 134, 249, 164, 42, 99, 171, 195, 200, 55, 254, 178, 147, 140, 165, 234, 244, 154, 58, 82, 119, 138, 14, 79, 77, 195, 41, 105, 30, 116, 55, 18, 217, 73, 124, 131, 200, 224, 98, 83, 27, 218, 114, 170, 54, 178, 163, 253, 237, 106, 79, 74, 159, 132, 212, 22, 65, 203, 147, 173, 101, 202, 254, 87, 91, 69, 201, 38, 123, 230, 208, 237, 110, 83, 251, 188, 199, 114, 84, 178, 31, 229, 35, 22, 17, 135, 168, 230, 194, 86, 105, 17, 13, 70, 113, 203, 247, 178, 227, 130, 40, 177, 105, 189, 43, 81, 47, 39, 200, 156, 253, 101, 180, 107, 45, 171, 40, 205, 193, 156, 242, 222, 173, 122, 15, 42, 230, 46, 40, 132, 47, 251, 54, 119, 49, 242, 21, 165, 104, 131, 11, 71, 247, 194, 151, 170, 1, 158, 111, 82, 188, 123, 95, 146, 81, 40, 174, 70, 234, 47, 131, 193, 150, 91, 10, 34, 88, 173, 149, 26, 12, 161, 250, 138, 96, 12, 126, 109, 194, 223, 197, 21, 247, 246, 59, 36, 9, 51, 24, 189, 22, 70, 176, 111, 219, 119, 25, 2, 242, 105, 197, 194, 181, 240, 198, 78, 28, 54, 112, 214, 130, 129, 202, 243, 47, 69, 96, 58, 224, 21, 26, 50, 92, 82, 162, 94, 54, 59, 44, 213, 25, 55, 56, 108, 239, 180, 197, 18, 167, 198, 92, 158, 37, 24, 146, 42, 30, 99, 82, 58, 66, 95, 3, 161, 198, 130, 68, 46, 178, 221, 156, 43, 187, 120, 29, 72, 201, 38, 69, 144, 236, 68, 151, 217, 41, 94, 216, 82, 18, 180, 178, 154, 171, 252, 20, 55, 102, 55, 157, 64, 157, 177, 152, 149, 23, 230, 27, 191, 149, 201, 249, 117, 130, 62, 47, 140, 185, 59, 178, 249, 59, 84, 182, 81, 20, 227, 59, 254, 193, 142, 58, 163, 203, 95, 173, 228, 43, 114, 10, 160, 49, 87, 184, 163, 103, 174, 178, 148, 0, 157, 31, 86, 68, 228, 204, 79, 246, 97, 225, 28, 205, 85, 205, 190, 129, 209, 135, 33, 221, 163, 205, 124, 225, 209, 76, 58, 208, 115, 148, 52, 103, 209, 106, 230, 77, 151, 143, 171, 94, 76, 5, 168, 83, 36, 171, 76, 87, 144, 170, 18, 249, 115, 170, 41, 45, 157, 83, 199, 216, 208, 201, 3, 239, 91, 97, 49, 235, 208, 68, 215, 158, 248, 12, 87, 175, 217, 156, 234, 64, 251, 57, 161, 139, 36, 44, 172, 21, 141, 138, 2, 179, 104, 212, 123, 214, 48, 88, 110, 115, 156, 102, 235, 58, 51, 81, 60, 173, 66, 149, 221, 105, 32, 61, 130, 176, 57, 45, 142, 173, 61, 92, 74, 94, 127, 155, 50, 115, 116, 118, 179, 197, 61, 238, 41, 167, 219, 44, 170, 184, 100, 63, 137, 66, 52, 108, 231, 177, 221, 147, 238, 182, 192, 91, 179, 107, 65, 207, 179, 208, 206, 204, 234, 67, 61, 91, 223, 36, 86, 27, 153, 252, 134, 95, 4, 143, 173, 206, 128, 133, 9, 222, 146, 30, 184, 187, 115, 13, 89, 123, 42, 92, 226, 11, 103, 56, 33, 101, 45, 206, 153, 130, 156, 98, 192, 60, 111, 155, 223, 189, 237, 150, 239, 26, 109, 243, 140, 37, 69, 78, 30, 57, 56, 122, 90, 24, 116, 28, 218, 196, 245, 44, 243, 254, 75, 255, 121, 217, 46, 39, 56, 208, 43, 221, 63, 153, 127, 60, 228, 137, 190, 57, 25, 2, 139, 88, 135, 150, 185, 231, 48, 57, 12, 183, 133, 20, 117, 167, 104, 220, 207, 240, 70, 56, 54, 47, 70, 55, 45, 130, 80, 20, 247, 246, 154, 89, 160, 30, 117, 110, 15, 220, 234, 48, 41, 123, 192, 153, 173, 117, 78, 18, 86, 236, 73, 125, 120, 185, 189, 70, 241, 108, 19, 175, 224, 185, 62, 251, 86, 246, 142, 241, 188, 255, 56, 112, 218, 253, 247, 73, 17, 219, 105, 185, 195, 250, 109, 59, 38, 117, 19, 241, 183, 21, 117, 152, 154, 31, 123, 175, 186, 129, 164, 14, 200, 64, 50, 175, 213, 251, 66, 106, 225, 193, 62, 109, 103, 116, 48, 193, 214, 12, 100, 183, 151, 23, 239, 200, 155, 62, 235, 171, 145, 52, 135, 47, 95, 65, 226, 22, 187, 171, 183, 232, 188, 102, 176, 77, 207, 212, 146, 123, 121, 25, 71, 9, 85, 174, 142, 245, 110, 195, 183, 155, 126, 228, 95, 231, 149, 190, 133, 215, 83, 62, 244, 7, 38, 247, 68, 164, 30, 121, 167, 232, 190, 167, 57, 35, 212, 32, 126, 111, 90, 232, 203, 62, 214, 146, 185, 190, 189, 169, 143, 209, 229, 203, 44, 247, 246, 230, 123, 20, 67, 55, 125, 238, 235, 213, 248, 216, 95, 234, 157, 235, 104, 254, 238, 131, 69, 158, 151, 118, 62, 181, 192, 216, 251, 134, 254, 131, 165, 253, 171, 183, 246, 41, 53, 177, 100, 246, 227, 223, 246, 54, 194, 28, 198, 214, 120, 147, 36, 109, 238, 197, 39, 91, 244, 127, 188, 165, 127, 176, 119, 110, 213, 180, 120, 10, 152, 124, 227, 20, 127, 246, 54, 127, 156, 101, 37, 216, 21, 129, 12, 245, 79, 161, 64, 59, 25, 168, 129, 164, 164, 124, 13, 131, 105, 34, 135, 128, 9, 8, 130, 220, 199, 112, 196, 23, 27, 245, 245, 129, 40, 232, 91, 34, 248, 128, 218, 118, 67, 229, 247, 130, 10, 184, 56, 43, 88, 5, 36, 184, 131, 60, 152, 108, 21, 216, 131, 64, 136, 107, 63, 24, 132, 68, 136, 96, 156, 55, 132, 69, 152, 132, 234, 22, 102, 165, 70, 131, 72, 168, 132, 80, 152, 126, 177, 231, 90, 80, 152, 132, 49, 232, 90, 79, 72, 51, 5, 150, 89, 85, 24, 133, 251, 151, 125, 16, 215, 133, 59, 120, 133, 225, 103, 16, 201, 22, 127, 73, 130, 110, 98, 72, 130, 28, 8, 10, 253, 183, 134, 8, 166, 108, 195, 100, 22, 72, 248, 126, 4, 68, 122, 89, 8, 135, 12, 152, 131, 187, 81, 110, 122, 136, 131, 2, 104, 130, 187, 87, 128, 109, 182, 31, 42, 151, 135, 93, 184, 121, 110, 168, 125, 127, 104, 128, 210, 7, 126, 147, 129, 118, 204, 135, 41, 45, 152, 136, 215, 199, 135, 121, 160, 125, 84, 33, 134, 34, 216, 98, 105, 71, 128, 254, 167, 167, 65, 233, 81, 137, 68, 88, 127, 135, 119, 132, 178, 55, 118, 80, 6, 132, 183, 199, 9, 185, 39, 127, 45, 23, 128, 120, 136, 136, 208, 182, 70, 222, 151, 138, 168, 120, 120, 122, 227, 111, 171, 24, 105, 128, 54, 139, 219, 230, 124, 161, 232, 119, 183, 184, 106, 89, 166, 105, 236, 114, 66, 167, 216, 129, 195, 215, 111, 60, 7, 84, 113, 216, 120, 246, 34, 116, 166, 39, 137, 27, 119, 128, 180, 8, 108, 227, 51, 109, 152, 152, 137, 229, 182, 115, 235, 150, 94, 130, 52, 138, 204, 6, 121, 194, 216, 119, 166, 152, 29, 244, 134, 121, 60, 5, 106, 221, 40, 5, 140, 22, 82, 15, 85, 119, 21, 247, 115, 64, 6, 126, 193, 200, 123, 221, 161, 25, 188, 68, 88, 52, 21, 119, 134, 71, 54, 24, 147, 16, 230, 194, 139, 200, 86, 118, 189, 231, 109, 146, 231, 109, 147, 168, 142, 225, 168, 81, 20, 101, 114, 129, 69, 114, 135, 212, 117, 91, 245, 144, 41, 4, 53, 207, 38, 47, 65, 215, 145, 206, 246, 126, 233, 130, 145, 30, 54, 120, 77, 103, 88, 211, 65, 145, 222, 131, 12, 116, 117, 145, 50, 247, 33, 244, 133, 123, 229, 232, 145, 44, 55, 123, 110, 38, 146, 173, 151, 121, 43, 9, 55, 91, 136, 146, 35, 72, 20, 57, 169, 121, 54, 73, 69, 78, 20, 128, 238, 86, 122, 232, 248, 145, 151, 54, 254, 45, 192, 68, 146, 43, 57, 131, 148, 195, 147, 243, 212, 147, 4, 137, 84, 65, 233, 88, 224, 179, 114, 6, 71, 141, 125, 87, 112, 227, 231, 102, 31, 178, 148, 136, 215, 110, 136, 194, 9, 249, 198, 68, 73, 117, 94, 110, 231, 99, 133, 104, 118, 106, 151, 113, 63, 103, 125, 53, 104, 40, 110, 103, 127, 97, 148, 89, 139, 150, 104, 8, 83, 149, 67, 166, 149, 67, 199, 144, 215, 72, 127, 39, 40, 151, 209, 70, 134, 21, 185, 104, 140, 120, 105, 209, 134, 80, 196, 88, 148, 49, 121, 141, 133, 136, 80, 9, 39, 124, 220, 104, 152, 169, 232, 100, 246, 180, 98, 107, 214, 151, 51, 121, 51, 15, 225, 91, 30, 183, 101, 250, 50, 108, 101, 201, 141, 47, 147, 120, 7, 69, 86, 28, 55, 117, 153, 105, 105, 241, 23, 85, 245, 86, 154, 197, 246, 142, 44, 120, 103, 255, 101, 144, 30, 198, 97, 18, 113, 106, 171, 57, 128, 94, 233, 153, 227, 166, 99, 238, 104, 103, 73, 229, 93, 79, 103, 102, 249, 215, 144, 168, 182, 154, 162, 136, 97, 250, 228, 12, 196, 41, 154, 148, 121, 67, 255, 197, 36, 40, 38, 85, 249, 7, 96, 153, 149, 153, 148, 118, 101, 181, 87, 79, 236, 72, 91, 230, 85, 103, 194, 217, 45, 211, 41, 106, 225, 24, 83, 78, 217, 98, 102, 151, 117, 203, 217, 157, 187, 20, 103, 193, 214, 100, 247, 254, 37, 50, 36, 166, 54, 71, 198, 105, 207, 120, 155, 100, 85, 84, 238, 181, 118, 237, 149, 133, 174, 153, 145, 141, 214, 95, 229, 5, 81, 178, 89, 124, 228, 209, 96, 93, 22, 51, 153, 134, 158, 77, 120, 112, 62, 216, 159, 62, 5, 153, 2, 26, 159, 136, 86, 160, 54, 54, 158, 89, 210, 57, 11, 42, 106, 249, 89, 90, 150, 135, 105, 152, 162, 130, 152, 22, 160, 200, 104, 161, 11, 250, 90, 176, 213, 134, 96, 54, 29, 206, 133, 103, 99, 86, 156, 124, 117, 126, 108, 88, 114, 59, 136, 87, 55, 137, 95, 29, 74, 94, 60, 99, 75, 138, 209, 48, 33, 214, 161, 75, 104, 144, 30, 213, 131, 9, 116, 135, 73, 136, 163, 193, 103, 135, 115, 150, 162, 152, 165, 95, 245, 249, 24, 65, 26, 163, 203, 131, 114, 66, 73, 163, 191, 21, 84, 89, 74, 130, 74, 106, 139, 236, 130, 54, 48, 10, 158, 240, 161, 92, 250, 48, 165, 228, 53, 39, 251, 227, 111, 83, 69, 130, 86, 89, 125, 112, 166, 88, 103, 230, 155, 195, 149, 140, 197, 165, 163, 34, 166, 43, 212, 246, 163, 245, 37, 98, 52, 180, 141, 163, 182, 166, 103, 6, 162, 208, 196, 122, 145, 21, 167, 20, 74, 89, 10, 199, 44, 9, 193, 167, 151, 54, 88, 19, 113, 166, 2, 9, 52, 199, 6, 168, 23, 54, 163, 33, 186, 87, 189, 216, 99, 129, 132, 168, 254, 239, 35, 169, 37, 71, 94, 82, 168, 100, 98, 217, 45, 18, 135, 94, 90, 250, 107, 109, 202, 80, 111, 42, 93, 154, 122, 77, 122, 80, 170, 76, 72, 20, 131, 133, 151, 213, 98, 64, 8, 129, 165, 152, 42, 168, 71, 186, 170, 172, 170, 94, 234, 242, 68, 242, 56, 107, 112, 5, 97, 157, 102, 64, 160, 133, 171, 29, 167, 171, 111, 214, 118, 226, 232, 171, 78, 84, 52, 78, 37, 172, 226, 224, 142, 3, 249, 54, 196, 50, 100, 199, 168, 159, 151, 154, 172, 205, 58, 93, 118, 132, 147, 59, 229, 169, 51, 195, 14, 233, 54, 144, 128, 5, 129, 203, 234, 72, 198, 105, 93, 132, 42, 85, 81, 246, 70, 231, 42, 174, 100, 67, 174, 73, 213, 86, 59, 85, 121, 110, 202, 173, 22, 134, 172, 204, 154, 145, 239, 250, 173, 83, 185, 67, 0, 57, 14, 93, 68, 144, 3, 181, 173, 185, 58, 84, 8, 27, 120, 138, 231, 172, 96, 170, 147, 227, 90, 82, 21, 105, 39, 11, 203, 171, 235, 90, 177, 234, 170, 80, 173, 234, 146, 35, 154, 116, 0, 85, 77, 45, 162, 170, 22, 219, 81, 236, 218, 175, 13, 59, 161, 67, 57, 130, 95, 39, 177, 250, 129, 28, 249, 218, 174, 255, 86, 178, 85, 89, 168, 40, 123, 149, 196, 196, 162, 44, 139, 48, 33, 187, 171, 12, 155, 152, 24, 59, 179, 52, 251, 94, 223, 58, 43, 56, 155, 254, 179, 143, 200, 30, 34, 155, 177, 219, 244, 179, 253, 232, 173, 28, 107, 36, 39, 137, 74, 159, 130, 180, 60, 171, 180, 75, 251, 178, 64, 155, 169, 201, 180, 44, 62, 122, 75, 164, 209, 45, 73, 219, 83, 45, 201, 180, 75, 73, 138, 179, 196, 64, 95, 104, 76, 63, 70, 30, 97, 27, 69, 203, 244, 178, 41, 7, 161, 181, 23, 53, 121, 234, 181, 68, 73, 181, 64, 116, 139, 30, 145, 150, 112, 59, 151, 52, 57, 161, 5, 59, 114, 112, 129, 149, 34, 50, 168, 23, 179, 57, 231, 212, 183, 200, 86, 58, 198, 248, 61, 5, 107, 110, 70, 203, 182, 60, 91, 58, 105, 138, 71, 49, 171, 184, 245, 230, 12, 206, 72, 138, 140, 71, 159, 74, 52, 51, 147, 75, 185, 217, 195, 67, 10, 133, 177, 255, 22, 69, 87, 131, 164, 35, 84, 176, 33, 68, 54, 187, 106, 25, 48, 84, 144, 150, 75, 178, 34, 155, 109, 135, 33, 49, 149, 43, 161, 104, 230, 185, 54, 36, 185, 160, 3, 187, 45, 211, 116, 252, 8, 84, 249, 74, 106, 57, 3, 88, 185, 171, 187, 41, 91, 180, 114, 84, 184, 236, 52, 27, 90, 85, 55, 75, 18, 110, 214, 89, 187, 238, 186, 33, 87, 32, 118, 201, 43, 161, 203, 219, 181, 173, 139, 180, 255, 89, 171, 214, 250, 97, 36, 178, 52, 121, 5, 77, 236, 22, 69, 78, 230, 53, 219, 203, 189, 54, 254, 235, 189, 70, 225, 33, 151, 50, 29, 246, 154, 89, 71, 230, 90, 169, 74, 111, 222, 164, 162, 78, 118, 50, 2, 21, 134, 79, 11, 191, 241, 235, 26, 221, 212, 27, 69, 84, 166, 247, 149, 103, 84, 136, 181, 240, 71, 157, 199, 101, 42, 188, 162, 168, 119, 23, 181, 82, 33, 63, 37, 200, 117, 154, 103, 100, 6, 3, 169, 8, 244, 186, 61, 217, 54, 120, 218, 84, 255, 11, 192, 104, 82, 57, 141, 129, 37, 213, 228, 117, 160, 185, 193, 9, 34, 80, 207, 165, 170, 238, 212, 43, 14, 54, 159, 58, 100, 115, 181, 163, 14, 127, 227, 43, 38, 201, 39, 42, 188, 194, 53, 86, 81, 91, 139, 96, 253, 198, 57, 61, 10, 193, 123, 115, 63, 100, 153, 22, 119, 56, 177, 150, 145, 192, 12, 26, 65, 77, 7, 195, 39, 3, 142, 32, 28, 154, 59, 60, 162, 117, 107, 194, 129, 40, 78, 155, 194, 49, 135, 27, 189, 154, 242, 57, 5, 136, 88, 155, 59, 195, 69, 204, 155, 151, 37, 184, 115, 193, 22, 143, 235, 26, 163, 163, 52, 176, 3, 148, 92, 36, 194, 226, 106, 198, 33, 44, 136, 241, 212, 128, 99, 193, 128, 132, 155, 45, 218, 18, 44, 28, 84, 87, 115, 60, 120, 176, 67, 107, 135, 243, 77, 116, 164, 23, 180, 234, 15, 111, 236, 41, 113, 236, 50, 131, 76, 92, 242, 106, 199, 161, 57, 121, 106, 67, 47, 254, 34, 211, 35, 127, 252, 25, 90, 69, 10, 145, 76, 81, 219, 219, 44, 165, 185, 39, 43, 187, 23, 92, 171, 201, 73, 35, 54, 241, 35, 67, 71, 90, 195, 237, 43, 202, 103, 60, 141, 210, 148, 24, 182, 226, 198, 27, 172, 202, 208, 197, 202, 207, 27, 49, 187, 248, 25, 184, 18, 203, 23, 247, 101, 176, 113, 76, 182, 44, 202, 141, 49, 48, 170, 82, 192, 147, 210, 203, 190, 28, 41, 196, 12, 165, 202, 66, 202, 46, 106, 48, 244, 49, 143, 150, 145, 64, 152, 66, 56, 250, 16, 41, 149, 204, 145, 79, 25, 42, 58, 107, 203, 48, 195, 58, 29, 44, 114, 158, 195, 205, 207, 156, 197, 195, 60, 30, 189, 65, 205, 10, 66, 31, 216, 76, 137, 247, 18, 39, 108, 194, 39, 38, 226, 120, 48, 194, 37, 55, 235, 43, 202, 124, 180, 179, 65, 207, 215, 166, 206, 219, 81, 30, 9, 234, 62, 251, 204, 207, 87, 156, 38, 129, 82, 203, 122, 236, 40, 246, 88, 204, 94, 182, 182, 39, 140, 194, 254, 252, 207, 133, 213, 37, 161, 122, 207, 132, 105, 14, 250, 44, 205, 19, 125, 197, 119, 235, 203, 75, 210, 37, 144, 235, 40, 203, 210, 209, 225, 124, 205, 20, 45, 203, 247, 50, 210, 36, 245, 37, 26, 128, 51, 200, 85, 207, 4, 188, 210, 193, 220, 210, 37, 2, 211, 28, 192, 44, 40, 157, 210, 8, 205, 48, 29, 50, 225, 38, 10, 162, 211, 39, 194, 200, 50, 237, 178, 72, 36, 56, 221, 204, 31, 68, 189, 9, 117, 138, 209, 17, 146, 212, 92, 76, 40, 77, 77, 2, 240, 113, 196, 72, 93, 47, 239, 113, 73, 85, 221, 20, 79, 83, 75, 4, 146, 206, 136, 60, 17, 93, 237, 14, 112, 73, 211, 224, 33, 213, 170, 164, 48, 101, 45, 9, 214, 182, 213, 80, 237, 61, 109, 29, 3, 6, 58, 213, 1, 93, 77, 115, 237, 5, 90, 109, 215, 68, 123, 33, 121, 141, 3, 73, 194, 215, 30, 29, 71, 127, 157, 13, 251, 155, 199, 113, 45, 28, 133, 77, 28, 52, 131, 216, 245, 12, 25, 139, 189, 4, 111, 125, 89, 37, 29, 217, 67, 16, 161, 15, 221, 130, 150, 13, 9, 152, 182, 217, 158, 253, 217, 160, 29, 218, 162, 61, 218, 164, 93, 218, 166, 125, 218, 168, 157, 218, 170, 189, 218, 172, 221, 218, 174, 253, 218, 176, 29, 219, 178, 61, 219, 180, 93, 219, 182, 125, 219, 184, 157, 219, 186, 189, 219, 188, 221, 219, 190, 253, 219, 192, 29, 220, 194, 61, 220, 196, 93, 220, 198, 125, 220, 200, 157, 220, 202, 189, 220, 204, 221, 220, 206, 253, 220, 208, 29, 221, 210, 61, 221, 212, 253, 3, 17, 0, 0, 59 };

#endif
